package com.example.cdctest.mapper;

import com.example.cdctest.pojo.UserInfo;
import org.apache.ibatis.annotations.Param;

import java.util.Date;
import java.util.List;

public interface UserInfoMapper {
    void updateByEmail(UserInfo userInfo);
    UserInfo isEmail(UserInfo userInfo);
    UserInfo selectUserByEmail(String email);

    UserInfo login(UserInfo user);

    int deleteByPrimaryKey(Integer id);

    UserInfo selectByPrimaryKey(Integer id);

    int updateByPrimaryKey(UserInfo record);

    void updateUserPass(UserInfo object);

    //通过搜索条件，查出搜索到的数据(用户状态，起始日期，截止日期，搜索用户的条件，点击的页码)
    List<UserInfo> selectAllUserInfo(@Param("tai") Integer tai, @Param("logmin") Date logmin, @Param("logmax") Date logmax, @Param("text") String text);

    //通过搜索条件，查出搜索到的数据的条数(用户状态，起始日期，截止日期，搜索用户的条件，点击的页码)
    Integer selectUserInfoCount(@Param("tai") Integer tai,@Param("logmin") Date logmin, @Param("logmax") Date logmax, @Param("text") String text);

    //审核用户
    void updateUserStatus(Integer id, Integer userState);

    //禁用或者启用用户
    void updateUser(Integer id);

    UserInfo insert(UserInfo record);

    //插入用户
    int insertSelective(UserInfo record);

    //更新用户
    int updateByPrimaryKeySelective(UserInfo record);

    //取出所有内测用户
    List<UserInfo> selectFormalUser();

    List<UserInfo> selectSelectUser(String ids);

    //申请为内测用户
    void updateVipUser(Integer id);
}